home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / newsgroups / misc.20000217-20000824 / 000220_news@columbia.edu _Mon Apr 24 12:36:36 2000.msg < prev    next >
Internet Message Format  |  2020-01-01  |  6KB

  1. Return-Path: <news@columbia.edu>
  2. Received: from watsun.cc.columbia.edu (watsun.cc.columbia.edu [128.59.39.2])
  3.     by monire.cc.columbia.edu (8.9.3/8.9.3) with ESMTP id MAA26274
  4.     for <kermit.misc@cpunix.cc.columbia.edu>; Mon, 24 Apr 2000 12:36:35 -0400 (EDT)
  5. Received: from newsmaster.cc.columbia.edu (newsmaster.cc.columbia.edu [128.59.59.30])
  6.     by watsun.cc.columbia.edu (8.8.5/8.8.5) with ESMTP id MAA25376
  7.     for <kermit.misc@watsun.cc.columbia.edu>; Mon, 24 Apr 2000 12:36:35 -0400 (EDT)
  8. Received: (from news@localhost)
  9.     by newsmaster.cc.columbia.edu (8.9.3/8.9.3) id MAA18621
  10.     for kermit.misc@watsun.cc.columbia.edu; Mon, 24 Apr 2000 12:15:36 -0400 (EDT)
  11. X-Authentication-Warning: newsmaster.cc.columbia.edu: news set sender to <news> using -f
  12. From: fdc@columbia.edu (Frank da Cruz)
  13. Subject: Re: Parity incorrectly reported, and RTS/CTS problem on Solaris 7 for x86
  14. Date: 24 Apr 2000 16:15:35 GMT
  15. Organization: Columbia University
  16. Message-ID: <8e1rv7$i5p$1@newsmaster.cc.columbia.edu>
  17. To: kermit.misc@columbia.edu
  18.  
  19. In article <3904650F.A10717AF@yk.rim.or.jp>,
  20. Ishikawa  <ishikawa@yk.rim.or.jp> wrote (of C-Kermit 7.0):
  21. : First, thank you for the great package.  I asked a few questions
  22. : concerning the usage of 8 bits byte, and an even parity several weeks ago
  23. : on linux and after the kind answers I could get kermit going on Debian
  24. : GNU/linux well.
  25. Good...
  26.  
  27. : [1] One cosmetic bug.
  28. : I set the parity to "parity hardware even" (8E1).  But the parity shown 
  29. : on the receiving server side (i.e., after I type "server" [CR]) is `none'
  30. : instead of `hardware even'.  Maybe this discrepancy can be fixed.
  31. : ...
  32. : But, the CRT display on the server side is as below.
  33. : --- begin quote
  34. : C-Kermit 7.0.197, 8 Feb 2000, www [192.9.200.253]
  35. :    Current Directory: /tmp
  36. : Communication Device: /dev/ttya
  37. :  Communication Speed: 115200
  38. :               Parity: none              <---- buggy?
  39. :          RTT/Timeout:
  40. :         ...omitted ...
  41. : --- end quote
  42. This is not actually a bug.  As far as Kermit protocol is concerned, the
  43. parity really is "none".  This means it is using all 8 bits of each byte for
  44. data, and it doesn't have to use single shifts or locking shifts to encode
  45. bytes whose 8th data bit is 1.  But yes, I agree it might be clearer to list
  46. something like "none (8E1)" here.  I'll add it to my list.
  47.  
  48. : Now a little complicated one.
  49. : I am not sure if this is a bug or feature.
  50. : [2] A user expectancy problem.  RTS/CTS is not supported by
  51. :     pre-compiled binary for Solaris 7 for x86.
  52. : But kermit doesn't complain if I specify rts/cts flow-control, and
  53. : SILENTLY ignored my request, so to speak.
  54. Thanks for the report.  We don't have hands-on access to Solaris x86 (any
  55. version) here, so never noticed this one.  All our Solaris x86 binaries were
  56. built at remote sites, where we couldn't experiment with modems, or sent in
  57. by others.  (Note: we still don't have a Solaris 2.6 x86 binary.)
  58.  
  59. : *USER EXPECTANCY PROBLEM*: C-kermit doesn't complain at all when I typed
  60. :       set flow-control rts/cts
  61. : and doesn't say a thing when I typed
  62. :         connect
  63. C-Kermit 7.0 for Solaris is built with -DCK_RTSCTS, which tells it to
  64. include the commands for setting, showing, and using RTS/CTS.  This has been
  65. true ever since Solaris 2.0.  It happens automatically in ckcdeb.h, because
  66. STERMIOX is defined, which in turn means that <system/termiox.h> is available,
  67. which defines the System-V based hardware flow-control API.
  68.  
  69. : It simply failed to set RTS/CTS and merrily goes on processing.  Beat me why
  70. : it did NOT give me any warning about not-supported RTS/CTS or maybe the code
  71. : forgot to handle the non-supported case since the code to handle CRTSCTS is
  72. : cluttered with many #ifdef's.)
  73. That's what makes it work on hundreds of different platforms :-)
  74.  
  75. The reason you didn't get a warning is that C-Kermit is indeed calling the
  76. <system/termiox.h> APIs for setting RTS/CTS, and the APIs are not returning
  77. an error.  (Take a debug log and search for "tthflow".)
  78.  
  79. : Anyway, after I modified the supplied `makefile' to define
  80. : POSIX_CRTSCTS (and inserted a few fprintf(stderr,"...") lines just to
  81. : let me make sure the expected lines to enable RTS/CTS flow control are
  82. : executed) and recompiled the C-kermit-7 code, I verified that now that
  83. : the RTS/CTS enable code is executed and the transfer at 115200 bps
  84. : (8E1) with flow-control of rts/cts works and transfer of wermit binary
  85. : (about 1.6MB) using packet length of 3999 (default) with D-type packet
  86. : went well(!).
  87. Good!  So it seems that the System-V RTS/CTS APIs have stopped working in
  88. Solaris 8 and a non-backwards-compatible switch as been made to the POSIX
  89. APIs.  This is a "double ended error": the old API is broken, but it doesn't
  90. inform the application of any problem.
  91.  
  92. : I have no idea at this moment if solaris 7 for sparc (not x86) should work
  93. : with this modification, but it should.  If not, maybe we need a different
  94. : target (solars7x86 against solaris7) just in case. YMMV.
  95. :
  96. This, of course, is an important question.  What is the earliest version of
  97. Solaris that has the POSIX API for RTS/CTS available (and working!)?  What
  98. is the latest version of Solaris that has the System V API working?  Is there
  99. a difference between x86 and Sparc versions?
  100.  
  101. : Here is the patch to makefile (for solaris 7 for x86).
  102. : I simply inserted -DPOSIX_CRTSCTS.
  103. : (Is this macro supposed to be automatically defined when one says
  104. : -DPOSIX? From the comment I found in the code, I don't think so, but
  105. : just have to ask.)
  106. No, it is not, and should not be.  You can never assume anything like this.
  107. To C-Kermit, -DPOSIX means POSIX 1.0, which has nothing whatsoever to say
  108. about hardware flow control; POSIX OS's implement hardware flow control in
  109. all sorts of creative and incompatible ways.
  110.  
  111. I'm cross-posting this reply to the Solaris lists in case anybody there can
  112. answer the questions above.  Unfortunately, however, the only real test is
  113. to build C-Kermit both with and without -DPOSIX_CRTSCTS on every Solaris
  114. platform and test the flow control.
  115.  
  116. - Frank